home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1995…tember: Reference Library / Dev.CD Sep 95 RL / Dev.CD Sep 95 RL.toast / mac / Technical Documentation / develop / develop Issue 19 code / SimpliFace_V2 / Sources / CTdebugStream.p < prev    next >
Encoding:
Text File  |  1992-10-02  |  1.4 KB  |  89 lines  |  [TEXT/MPS ]

  1. UNIT CTdebugStream;
  2.  
  3.  
  4.  
  5. INTERFACE
  6.  
  7. USES
  8.     
  9.     Types, Traps, Memory, Quickdraw, 
  10.     OSIntf, ToolIntf, PackIntf;
  11.  
  12.  
  13. PROCEDURE StreamToDebugger(textBuf: Ptr; count: INTEGER);
  14.  
  15. PROCEDURE Str255ToDebugger(msg: Str255);
  16.  
  17. PROCEDURE StrLineToDebugger(msg: Str255);
  18.  
  19.  
  20.  
  21. IMPLEMENTATION
  22.  
  23. USES
  24.     
  25.     PPCToolbox,
  26.     
  27.     Events, AppleEvents,
  28.     
  29.     IntEnv, 
  30.     
  31.     PasLibIntf,
  32.     
  33.     AEregistry;
  34.  
  35.  
  36.  
  37. PROCEDURE StreamToDebugger(textBuf: Ptr; count: INTEGER);
  38. VAR
  39.     theEvent,
  40.     theReply:        AppleEvent;
  41.     target:            AEAddressDesc;
  42.     err:            OSerr;
  43.     appSignature:    OStype;
  44. BEGIN
  45.     appSignature:= 'CTLD';    { look for CTdebugger by signature }
  46.     err:= AECreateDesc(typeApplSignature, @appSignature, 
  47.                         sizeof(appSignature), target);
  48.     IF err = noErr THEN
  49.         BEGIN
  50.         err:= AECreateAppleEvent('CTLD', 'DEBG',
  51.                                  target, kAutoGenerateReturnID,
  52.                                  kAnyTransactionID, theEvent);
  53.         IF err = noErr THEN
  54.             BEGIN
  55.             err:= AEPutParamPtr(theEvent, keyDirectObject, typeChar,
  56.                                 textBuf, count);
  57.             
  58.             IF err = noErr THEN
  59.                 err:= AESend(theEvent, theReply, kAENoReply + kAECanInteract,
  60.                              kAENormalPriority, 120, NIL, NIL);
  61.  
  62.             err:= AEDisposeDesc(theEvent);
  63.             END;
  64.         err:= AEDisposeDesc(target);
  65.         END;
  66. END;
  67.  
  68.  
  69. PROCEDURE Str255ToDebugger(msg: Str255);
  70. BEGIN
  71.     IF msg <> '' THEN
  72.         StreamToDebugger(Ptr(@msg[1]), length(msg));
  73. END;
  74.  
  75.  
  76. PROCEDURE StrLineToDebugger(msg: Str255);
  77. VAR
  78.     retStr:        String[2];
  79. BEGIN
  80.     retStr:= ' ';
  81.     retStr[1]:= chr(13);
  82.     
  83.     Str255ToDebugger(msg);
  84.     Str255ToDebugger(retStr);
  85. END;
  86.  
  87.  
  88. END.
  89.